/**
 * 开始界面
 * 负责处理开始界面的交互逻辑
 */
class StartScreen {
    constructor(game) {
        // 游戏实例引用
        this.game = game;
        
        // 开始界面元素
        this.screen = document.getElementById('start-screen');
        
        // 难度按钮
        this.difficultyButtons = document.querySelectorAll('.difficulty-btn');
        
        // 开始按钮
        this.startButton = document.getElementById('start-btn');
        
        // 当前选择的难度
        this.selectedDifficulty = 'medium';
        
        // 音频管理器
        this.audioManager = new AudioManager();
        
        // 初始化事件监听
        this.initEventListeners();
    }
    
    /**
     * 初始化事件监听
     */
    initEventListeners() {
        // 难度选择按钮点击事件
        this.difficultyButtons.forEach(button => {
            button.addEventListener('click', () => {
                // 移除所有按钮的选中状态
                this.difficultyButtons.forEach(btn => btn.classList.remove('selected'));
                
                // 添加当前按钮的选中状态
                button.classList.add('selected');
                
                // 设置游戏难度
                const difficulty = button.dataset.difficulty;
                this.game.difficulty = difficulty;
                
                console.log('选择难度:', difficulty);
            });
        });
        
        // 开始按钮点击事件
        if (this.startButton) {
            this.startButton.addEventListener('click', () => {
                console.log('开始按钮被点击');
                console.log('游戏实例:', this.game);
                
                // 播放开始音效
                this.audioManager.playSound('start');
                
                // 隐藏开始界面
                this.hide();
                
                // 开始游戏
                this.game.start();
                
                console.log('游戏开始后的状态:', this.game.isRunning);
            });
        }
    }
    
    /**
     * 显示开始界面
     */
    show() {
        // 默认选中中等难度
        this.selectDifficulty('medium');
        
        // 播放背景音乐
        this.audioManager.playMusic('menu');
    }
    
    /**
     * 隐藏开始界面
     */
    hide() {
        // 停止背景音乐
        this.audioManager.stopMusic();
        
        // 隐藏开始界面
        if (this.screen) {
            this.screen.classList.add('hidden');
        }
        
        console.log('开始界面已隐藏');
    }
    
    /**
     * 选择难度
     * @param {string} difficulty 难度 (easy, medium, hard)
     */
    selectDifficulty(difficulty) {
        // 移除所有按钮的选中状态
        this.difficultyButtons.forEach(btn => btn.classList.remove('selected'));
        
        // 添加当前难度按钮的选中状态
        const button = document.querySelector(`.difficulty-btn[data-difficulty="${difficulty}"]`);
        if (button) {
            button.classList.add('selected');
        }
        
        // 设置游戏难度
        this.game.difficulty = difficulty;
        this.selectedDifficulty = difficulty;
        
        console.log('选择难度:', difficulty);
    }
    
    /**
     * 初始化开始界面
     */
    init() {
        // 播放背景音乐
        this.game.audioManager.playMusic('background');
        
        // 绑定按钮事件
        this.bindButtons();
    }
} 